package yana.tpe.onlineshop.services;

import java.util.List;
import javax.validation.constraints.NotNull;
import yana.tpe.onlineshop.domain.domains.Category;
import yana.tpe.onlineshop.domain.domains.Product;

/**
 *
 */
public interface ProductService extends AbstractService<Integer, Product> {

    List<Product> getProductFromCategory(Category category);

    void updateProduct(@NotNull Product product, Integer categoryId);

    void addProduct(Integer categoryId, Product product);

    void delete(Integer id);

    Product getWithImage(int id);

    Product getWithComments(int id);
}
